<Addin id          = "CoqBinding"
       namespace   = "MonoDevelop"
       name        = "Coq Language Binding"
       author      = "Adam Abonyi"
       copyright   = "None"
       url         = "http://coq.inria.fr/"
       description = "Coq Language Binding"
       category    = "Language bindings"
       version     = "2.4">

  <Runtime>
    <Import assembly = "Coq.MonoDevelop.dll"/>
    <Import assembly = "Coq.Parser.dll"/>
  </Runtime>

  <Dependencies>
    <Addin id="Core"          version="2.4"/>
    <Addin id="Ide"           version="2.4"/>
    <Addin id="SourceEditor2" version="2.4"/>
  </Dependencies>

  <!--Basic stuff-->
  <Extension path="/MonoDevelop/Core/StockIcons">
    <StockIcon stockid="md-coq-logo32" resource="Coq.MonoDevelop.Resources.coq-icon-32.png" />
    <StockIcon stockid="md-coq-file" resource="Coq.MonoDevelop.Resources.coq-file-icon.png" />
    <StockIcon stockid="md-id" resource="Coq.MonoDevelop.Resources.coq-id-icon.png" />
    <StockIcon stockid="md-coq-project" resource="Coq.MonoDevelop.Resources.coq-project-icon.png" />
  </Extension>

  <Extension path = "/MonoDevelop/Ide/FileFilters">
    <FileFilter id = "Coq"
		            insertbefore = "AllFiles"
		            _label = "Coq Files"
		            extensions = "*.v"/>
  </Extension>

  <!--<Extension path = "/MonoDevelop/Ide/FileTemplates">
    <FileTemplate id = "EmptyCoqSource" 
                  resource = "Coq.MonoDevelop.Resources.EmptyCoqSource.xft.xml"/>
  </Extension>-->
  
  <Extension path = "/MonoDevelop/Ide/FileTemplates">
    <FileTemplate id = "CoqProject"
                  resource = "Coq.MonoDevelop.Resources.EmptyCoqSource.xft.xml"/>
  </Extension>

  <Extension path = "/MonoDevelop/Ide/ProjectTemplates">
    <ProjectTemplate id = "CoqProject"
                     resource = "Coq.MonoDevelop.Resources.CoqProject.xpt.xml"/>
  </Extension>

  <Extension path = "/MonoDevelop/ProjectModel/ProjectBindings">
    <ProjectBinding id = "CoqProject" class = "Coq.MonoDevelop.CoqProjectBinding"/>
  </Extension>

  <Extension path = "/MonoDevelop/Core/MimeTypes">
    <MimeType id="text/x-coq" _description="Coq Source files" icon="md-coq-file" isText="true">
      <File pattern="*.v" />
    </MimeType>
  </Extension>
 <!--/Basic-->

  <Extension path="/MonoDevelop/Ide/TextEditorResolver">
    <Resolver class="Coq.MonoDevelop.CoqResolverProvider" mimeType="text/x-coq" />
  </Extension>

  <Extension path="/MonoDevelop/Ide/Commands">
    <Category _name = "Coq Integration" id="Coq Integration">
      <Command id="Coq.MonoDevelop.CoqCommands.SendSelection"
        _label = "Send selection to Coq Interactive"
        _description="Send the selected text to Coq Interactive"
        shortcut="Ctrl|Return"
        macShortcut="Alt|Return"
        defaultHandler="Coq.MonoDevelop.SendSelection" />

      <Command id="Coq.MonoDevelop.CoqCommands.SendLine"
        _label = "Send line to Coq Interactive"
        _description="Send the current line to Coq Interactive"
        shortcut="Ctrl|Alt|L"
        macShortcut="Meta|Control|L"
        defaultHandler="Coq.MonoDevelop.SendLine" />
    </Category>
  </Extension>

  <Extension path = "/MonoDevelop/ProjectModel/LanguageBindings">
    <LanguageBinding id = "Coq" 
                     supportedextensions = ".v" 
                     class = "Coq.MonoDevelop.CoqLanguageBinding" />
  </Extension>

  <!-- Use this when implementing "smarter" SyntaxModel-->
  <!--<Extension path = "/MonoDevelop/SourceEditor2/CustomModes">
    <SyntaxMode mimeTypes="text/x-coq"  class="Coq.MonoDevelop.CoqSyntaxMode"/>
  </Extension>-->

  <Extension path = "/MonoDevelop/SourceEditor2/SyntaxModes">
    <Templates resource="CoqSyntaxMode.xml" />
  </Extension>


  <Extension path="/MonoDevelop/Ide/Pads">
    <Pad id="Coq.MonoDevelop.CoqInteractivePad" defaultLayout="*" defaultPlacement="Bottom" _label="Coq Interactive" icon="md-coq-project" class="Coq.MonoDevelop.CoqInteractivePad" />
    <Pad id="Coq.MonoDevelop.CoqOutputPad" defaultLayout="*" defaultPlacement="Right" _label="Coq Output" icon="md-coq-project" class="Coq.MonoDevelop.CoqOutputPad" />
    <Pad id="Coq.MonoDevelop.CoqProofPad" defaultLayout="*" defaultPlacement="Right" _label="Coq Proof" icon="md-coq-project" class="Coq.MonoDevelop.CoqProofPad" />
  </Extension>




  <!--Parser and stuff related-->
  <Extension path = "/MonoDevelop/ProjectModel/DomParser">
    <Class class = "Coq.MonoDevelop.CoqParser" id = "CoqParser" />
  </Extension>

  <Extension path = "/MonoDevelop/Ide/TextEditorExtensions">
    <Class fileExtensions=".v" class="Coq.MonoDevelop.CoqTextEditorCompletion" />
  </Extension>
  
</Addin>
